Method of evaluating and correcting robot program and device for evaluating and correcting robot program

ABSTRACT

There is provided a device for evaluating and correcting a robot operation program for evaluating an appropriateness for the robot operation program and correcting the robot operation program, comprising a computer including a simulation function for confirming a robot operation. The computer includes a load calculation section for calculating a load given to a motor for driving an operating portion of the robot by a simulation conducted by a computer; and an evaluation section for evaluating, by an evaluation function, whether or not the load exceeds a predetermined allowed value.

RELATED APPLICATIONS

The present application is a continuation of Ser. No. 11/459,628, filedJul. 24, 2006, which is based on, and claims priority from, JapaneseApplication Numbers 2005-214890, filed Jul. 25, 2005, and 2006-194764,filed Jul. 14, 2006, the disclosures of all of the above-listedapplications are hereby incorporated by reference herein in theirentirety.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a method, of evaluating and correctinga robot program, for correcting an operation program of a robot so thatthe robot can perform a desired operation. The present invention alsorelates to a device for evaluating and correcting a robot program.

2. Description of the Related Art

In general, an operation program of a robot made off-line is seldom usedat a work-site as it is but is only used after it has been corrected.The reason is that a relative positional relation between a workpieceand the robot is slightly different and, further, a posture of the robotis slightly different between the off-line state and the on-line state.In order to correct the operation program, a deviation of an operationroute is corrected and, further, a speed command and an accelerationcommand to be given to a servo motor are corrected, in some cases.

In the case of correcting the speed command and the acceleration commandof the operation program, a load given to the servo motor is checked.While a duty ratio is being checked with a teaching panel at awork-site, the speed command and the acceleration command are corrected.In this case, the duty ratio is a ratio of on-state to one operationcycle with respect to an electric current.

A deviation of the operation route is defined as a deviation between atarget operation route and an actual operation route of a robot. In thecase of correcting this deviation, with respect to a teaching pointactually obtained when a target position of the workpiece is touched bythe robot, a teaching point defined on an image plane is shifted so thatthe teaching point defined on the image plane can gradually approach theteaching point actually obtained when the target position of theworkpiece is touched by the robot. In this way, the deviation iscorrected so that the teaching point can be on the target operationroute. An example of another method is described as follows. When a unitdifference matrix, which is obtained from a difference between theteaching point of the target position and the teaching point actuallytouched, is multiplied by the target position from the its right side,the teaching point is shifted so that the teaching point can becorrected.

Examples of a well known device for evaluating and correcting a robotprogram are disclosed in the official gazettes of JP-A-2005-66797 andJP-A-2005-22062. Concerning the software to operate this type correctingdevice, “Roboguide” (registered trademark), which was proposed by thepresent applicant, is on the market.

However, the work which is conducted for correcting a speed command andan acceleration command to be given to the servo motor of the robot,while the duty ratio is being confirmed at the work-site, is accompaniedby trial and error in many cases. Therefore, a large amount of labor isneeded to conduct this work.

It is necessary to prudently conduct the work of correcting a deviationof the operation route at the work-site. Teaching points specified onthe operation route, the deviations of which are large, must be touchedand gradually shifted and corrected for each teaching point. Therefore,it can take a very long time to construct a manufacturing system inwhich the robot is used.

SUMMARY OF THE INVENTION

An object of the present invention is to provide a method of evaluatingand correcting a robot operation program made off-line easily and in ashort period of time. Another object of the present invention is toprovide a device capable of evaluating and correcting a robot operationprogram made off-line easily in a short period of time.

In order to accomplish the above object, the present invention providesa method of evaluating and correcting a robot operation program forevaluating an appropriateness for the robot operation program andcorrecting the robot operation program, comprising: calculating a load,which is given to a motor for driving an operating portion of the robotby a simulation conducted by a computer; and evaluating whether or notthe load exceeds a predetermined allowed value by an evaluationfunction.

According to this invention, it is possible to evaluate a load given tothe servo motor off-line. According to this evaluation, it is possibleto evaluate whether or not the operation program is good. Therefore,compared with a case in which the load is compared at a work-site, theoperation program can be corrected in a short period of time.Accordingly, the robot can be set up in a short period of time at thework-site.

Further, the present invention provides a method, of evaluating andcorrecting a robot operation program, comprising: storing a speedcommand and an acceleration command given to the motor, and the loadcalculated by the simulation, as one set of time base data; andcorrecting the speed command and the acceleration command for eachsimulation executed repeatedly so that a task-cycle time of the robotcan be minimized in a range lower than the predetermined allowed valueof the load by repeatedly executing the simulation.

The method of the invention includes: a first step in which the load iscalculated for each simulation; a second step in which the speedcommand, the acceleration command and the load are arranged as one setof time base data and stored; a third step in which the load isevaluated; and a fourth step in which the speed command and theacceleration command are corrected in a predetermined allowed range ofthe load. Due to the foregoing, the evaluation and the correction of theoperation program can be conducted in relation to each other. Due to theforegoing, the time for setting the robot at a work-site can be furtherreduced.

The present invention provides a method of evaluating and correcting arobot operation program for evaluating an appropriateness for the robotoperation program and correcting the robot operation program,comprising: storing a deviation between an arbitrary target teachingpoint on a target operation route of the robot, and a pseudo teachingpoint on a pseudo operation route defined by a simulation conducted bycomputer and corresponding to the target teaching point; and correctingthe pseudo teaching point by executing the simulation until a deviationis decreased to a value lower than a predetermined allowed value byshifting the pseudo teaching point by a predetermined changing distanceso as to reduce the deviation when it is evaluated by an evaluationfunction whether or not the deviation exceeds the predetermined allowedvalue and the deviation exceeds the predetermined allowed value.

According to this invention, a deviation between the target teachingpoint and the pseudo teaching point is stored in the first step, and thesimulation is repeatedly executed so as to correct a teaching pointuntil the deviation is reduced to a value lower than the predeterminedallowed value in the second step. Therefore, compared with a case inwhich a large number of teaching points are corrected at a work-site soas to make the target operation route agree with the pseudo operationpassage, the teaching point of the program can be corrected in a shortperiod of time. Due to the foregoing, the set-up time of the robot atthe work-site can be greatly reduced.

The present invention provides a device for evaluating and correcting arobot operation program for evaluating an appropriateness for the robotoperation program and correcting the robot operation program, comprisinga computer including a simulation function for confirming a robotoperation, the computer comprising: a load calculation section forcalculating a load given to a motor for driving an operating portion ofthe robot by a simulation conducted by a computer; and an evaluationsection for evaluating, by an evaluation function, whether or not theload exceeds a predetermined allowed value.

According to this invention, it is possible to evaluate a load given tothe servo motor off-line. According to this evaluation, it is possibleto evaluate whether or not the operation program is good. Therefore,compared with a case in which the load is evaluated at a work-site, theoperation program can be corrected in a short period of time.Accordingly, the robot can be set up in a short period of time, at thework-site.

Further, the present invention provides a device for evaluating andcorrecting a robot program, the computer comprising: a storage sectionfor storing a speed command and an acceleration command given to themotor, and the load calculated by the simulation, as one set of timebase data; and a correction section for correcting the speed command andthe acceleration command for each simulation executed repeatedly,whereby a task-cycle time of the robot can be minimized in a range lowerthan the predetermined allowed value of the load by repeatedly executingthe simulation.

According to the present invention, the load is calculated, by the loadcalculation section, for each simulation. The speed command, theacceleration command and the load are stored by the storage section asone set of time data set. The load given to the motor is evaluated bythe evaluation section and the speed command and the accelerationcommand are corrected in a range lower than the predetermined allowedrange of the motor. Therefore, compared with a case in which theoperation program is corrected at the work-site so that the task-cycletime can be minimized, the operation program can be corrected in a shortperiod of time. Due to the foregoing, the set-up time of the robot atthe work-site can be greatly reduced.

The present invention provides a device for evaluating and correcting arobot operation program for evaluating an appropriateness for the robotoperation program and correcting the robot operation program, comprisinga computer including a simulation function for confirming a robotoperation, the computer comprising: a storage section for storing adeviation between an arbitrary target teaching point on a targetoperation route of the robot, and a pseudo teaching point on a pseudooperation route defined by a simulation conducted by the computer andcorresponding to the target teaching point; and a correction section forcorrecting the pseudo teaching point by executing the simulation until adeviation is decreased to a value lower than a predetermined allowedvalue by shifting the pseudo teaching point by a predetermined changingdistance so as to reduce the deviation when it is evaluated by anevaluation function whether or not the deviation exceeds thepredetermined allowed value and the deviation exceeds the predeterminedallowed value.

According to the present invention, a deviation between the targetteaching point and the pseudo teaching point is stored by the storagesection, and the teaching point is corrected by the correcting sectionwhen the simulation is repeatedly executed until the deviation isreduced to a value lower than the predetermined allowed value.Therefore, compared with a case in which a large number of teachingpoints are corrected at a work-site so that the target operation routeand the pseudo operation route can be made to agree with each other, itis possible to correct the teaching point of the operation program in ashort period of time. Due to the foregoing, the set-up time of the robotat the work-site can be greatly reduced.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other object, features and advantages of the presentinvention will appear more fully from the following description of thepreferred embodiment related to the accompanying drawings. In thedrawings:

FIG. 1 is a system block diagram showing a robot operation programevaluating and correcting device system including a robot operationprogram evaluating and correcting device of the present invention;

FIG. 2 is a block diagram showing the first embodiment of the robotoperation program evaluating and correcting device;

FIG. 3 is a flow chart showing a flow of the correcting method conductedby the robot operation program evaluating and correcting device shown inFIG. 2;

FIG. 4 is a block diagram showing the second embodiment of the robotoperation program evaluating and correcting device;

FIG. 5 is a flow chart showing a flow of the correcting method conductedby the robot operation program evaluating and correcting device shown inFIG. 4;

FIG. 6 is a block diagram showing the third embodiment of the robotoperation program evaluating and correcting device; and

FIG. 7 is a flow chart showing a flow of the correcting method conductedby the robot operation program evaluating and correcting device shown inFIG. 6.

DETAILED DESCRIPTION

A specific embodiment of the present invention will be explained indetail referring to the drawings. FIG. 1 is a system block diagramshowing a robot operation program evaluating and correcting devicesystem including a robot operation program evaluating and correctingdevice of the present invention.

In FIG. 1, reference numeral 7 is a computer included in the robotoperation program evaluating and correcting device 2, reference numeral8 is an input device such as a keyboard and a mouse connected to thecomputer, and reference numeral 9 is an output device connected to thecomputer. Reference numeral 3 is a controller for controlling onoperation of the robot by a robot operation program, reference numeral 4is a robot for industrial use, which is an object to be controlled, andreference numeral 5 is a teaching device used for teaching the teachingpoints of the robot. In this connection, various robots having aplurality of operation axes can be used as the robot 4.

The robot operation program evaluating and correcting device 2 of thepresent invention includes at least the computer 7, the input device 8and the output device 9. The robot operation program evaluating andcorrecting device 2 of the present invention is capable of correcting anoperation program off-line. In this connection, the robot operationprogram evaluating and correcting system 1 includes the robot operationprogram evaluating and correcting device 2, the controller 3, the robot4 and the teaching device 5.

The output device 9 of the robot operation program evaluating andcorrecting device 2 is a display which is a displaying device. Thisoutput device 9 displays image data of the robot 4, a workpiece (notshown) which is an object to be worked on and a peripheral device (notshown). The computer 7 can execute a simulation of the robot 4 togetheraccording to the operation program on the output device 9. Thesimulation is conducted for evaluating and correcting the robotoperation program. In the simulation, a pseudo operation is conducted bythe robot according to a designated movement command.

FIG. 2 is a block diagram showing the first embodiment of the robotoperation program evaluating and correcting device. The robot operationprogram evaluating and correcting device 2 of this embodiment is adevice for correcting a speed command and an acceleration command sothat a cycle time of the robot 4 can be minimized in an allowed range ofthe load. For example, the robot operation program evaluating andcorrecting device 2 of this embodiment includes: a designation section11 for designating an allowed value of a load of the servo motor todrive an operating portion such as an upper arm or a front arm of a6-axis multiple joint type robot; a simulation section 12 for conductinga simulation of the operation program; a load calculation section 13 forcalculating a load given to the servo motor; a storage section 14 forstoring a speed command, an acceleration command and a load with respectto the servo motor in relation to the time series; and an evaluationsection 15 for evaluating whether or not a load given to the servo motorof each operation axis is in an allowed range.

FIG. 3 is a flow chart showing a flow of the correcting method conductedby the robot operation program evaluating and correcting device 2 shownin FIG. 2. In step S1 shown in FIG. 3, a layout, in which image data ofthe robot 4, the workpiece and the peripheral device isthree-dimensionally arranged, is made on an image plane of the outputdevice. Concerning the image data of the positions and postures of therobot 4, the workpiece and the peripheral device, figure information andarrangement information are read in being sent from a CAD device.

In step S2, on the image plane of the output device 9, an operationprogram is made in relation to the robot 4, the workpiece and theperipheral device. In step S3, a condition of correcting the program isset, which corresponds to the designation section 11 of the robotoperation program evaluating and correcting device 2. Specifically, thedesignation is conducted as follows. An operating portion of the robot 4is designated, an allowed value of the load given to the servo motor isdesignated, an execution line of the program to be displayed on theimage plane is designated, a speed command or an acceleration command,which is an object to be corrected, is designated, a correction data δchanged for each simulation is designated, and an initial value of thecycle time is designated.

In step S4, an operation program is executed by the simulation section12 so as to conduct a simulation of the robot operation. Then, a presentposition of each operating axis for unit time is recorded together withthe lapse of time, which corresponds to the simulation section 12 of therobot operation program evaluating and correcting device 2. In step S5,from a relation between the lapse of time and the position of eachoperating axis of the robot 4 obtained as a result of the simulation, aload torque of the servo motor is calculated by the followingexpression, which corresponds to the load calculation section 13 of therobot operation program evaluating and correcting device 2.

(Load torque)=(Newton·Euler's torque)+(Frictional force)+(Rotor inertiadrive force)

In step S6, the speed command, the acceleration command and the load ofeach operating axis are stored in relation to the time series for eachline, which corresponds to the storage section 14 of the robot operationprogram evaluating and correcting device 2. In step S7, it is evaluatedby a well known evaluation function for each line of the operationprogram whether or not a load given to each operating axis is not morethan an allowed value. At the same time, it is recorded whether or notthe load given to each operating axis is in the allowed range for eachline when the simulation is executed for the first time. In this case,the evaluation function is a function weighted as an evaluation criteriaused for evaluating a load given to the servo motor or for optimizing arelative positional relation of the robot 4, the work and the peripheraldevice. Concerning this matter, refer to the official gazette ofJP-A-2005-22062.

FIG. 4 is a block diagram showing the second embodiment of the robotoperation program evaluating and correcting device 2. Compared with thefirst embodiment, the robot operation program evaluating and correctingdevice of this embodiment (designated as 7A in FIG. 4) is added with acorrecting section 16.

FIG. 5 is a flow chart showing a flow of the correcting method conductedby the robot operation program evaluating and correcting device 2 shownin FIG. 4.

This flow chart is composed in such a manner that the flow chart shownin FIG. 3 is added with a step S8. In step S8, operation is conducted asfollows. In the case where it is evaluated in step S7 that a load ofeach operating axis is in an allowed range, a speed command, aacceleration command and executing time for each line and an entirecycle time are calculated. When the entire cycle time is shorter thanthe cycle time which has already been recorded, it is recorded. Thecorrection data δ is added to the speed command and the accelerationcommand of an objective program line, and the simulation is repeated. Inthe case where it is evaluated that the load of each operating axis isnot in the allowed range, a correction data δ is subtracted from thespeed command and the acceleration command of the objective programline. In the case where it is not in the allowed range at the time ofexecuting first, the correction data δ is subtracted from the speedcommand and the acceleration command of the objective program line untilit is in the allowed range of the duty ratio. In the case where it is inthe allowed range at the time of executing first, the correction data δis added to the speed command and the acceleration command of theobjective program line until it exceeds the allowed range of the dutyratio or until it reaches an upper limit of the speed command and theacceleration command.

When an evaluation is conducted for each line and it is executed for thefirst time, in the case where the load is not in the allowed range, atthe point of time when the load enters the allowed range of the dutyratio, a change in the line is completed. If it is not so, thesimulation of step S4 is conducted and the evaluation processing isrepeated. In the case where the load is in the allowed range at the timeof executing for the first time, when the load exceeds the allowed rangeof the duty ratio or when the load reaches the upper limit of the speedcommand and the acceleration command, the change in the line iscompleted. If the load is not so, the simulation of step S4 is conductedand the evaluation processing is repeated. This work is repeated untilprocessing is completed with respect to all lines of the program.

Due to the foregoing, according to the first embodiment, the load givento the servo motor can be evaluated off-line, and whether or not theoperation program is good can be evaluated according to this evaluation.Therefore, compared with a case in which the load is evaluated at thework-site, the operation program can be corrected in a short period oftime and the set-up time of setting up the robot at the work-site can bereduced. Further, according to the second embodiment, compared with acase in which the speed command and the acceleration command arecorrected at the work-site so that the cycle time can be minimized, theoperation program can be corrected in a short period of time. Therefore,the set-up time of setting up the robot 4 at the work-site can begreatly reduced. In the case where many types of products are producedwith the same robots 4, it is possible to save much time and labor forcorrecting the operation program.

Next, referring to FIG. 6, the third embodiment of the robot operationprogram evaluating and correcting device will be explained below. Exceptfor the constitution of the computer 7B, the robot operation programevaluating and correcting device of this embodiment is the same as thefirst embodiment. Therefore, like reference numerals are used toindicate like parts in the first and the third embodiment.

The robot operation program evaluating and correcting device is capableof correcting a teaching point on the operation route of the operationprogram in a short period of time. The robot operation programevaluating and correcting device includes: an operating portiondesignation section 18 for designating an operating portion of eachoperating axis when an operation program, which has been read out, isdisplayed on an image plane; a route designation section 19 for storinga target operation route of an actual system and designating the targetoperation route; a deviation designation section 20 for designating adeviation between an arbitrary teaching point on a target operationroute of the robot and a pseudo teaching point on a pseudo operationroute made by a computer simulation corresponding to the target teachingpoint; a simulation section 21 for conducting a simulation of theoperation program; a recording section 22 for recording the lapse oftime and a position and a posture of the robot 4 according to the resultof the simulation; a storage section 23 for calculating and storing adeviation between the target teaching point and the pseudo teachingpoint from the result of the simulation; and a correcting section 24 forcorrecting the pseudo teaching point in such a manner that whether ornot the deviation is larger than an allowed value is evaluated by a wellknown evaluation function and in the case where the deviation is largerthan the allowed value, the pseudo teaching point is changed by apredetermined changing distance so that the deviation can be reduced andthe simulation is repeatedly executed until the deviation becomessmaller than the allowed value.

FIG. 7 is a flow chart showing a flow of the correcting method conductedby the robot operation program evaluating and correcting device. In stepT1 shown in FIG. 7, a layout of three-dimensionally arranged image dataof the robot 4, the workpiece and the peripheral device, on an imageplane of the output device 9, is done. Concerning the image data of thepositions and postures of the robot 4, the workpiece and the peripheraldevice, figure information and arrangement information are read in froma CAD device.

In step T2, on the image plane of the output device 9, an operationprogram corresponding to the robot 4, the workpiece and the peripheraldevice is made. In steps T3 to T5, a condition of correcting the programis designated. Specifically, the designation is conducted as follows. Anoperating portion of each operating axis of the robot 4 is designated,which corresponds to the operating portion designation section 18 of therobot operation program evaluating and correcting device. An executionline of the program to be displayed on the image plane is designated. Atarget operation route is designated as a three-dimensional curve, whichcorresponds to the route designation section 19 of the robot operationprogram evaluating and correcting device. A deviation from the targetroute is designated, which corresponds to the deviation designationsection 20 of the robot operation program evaluating and correctingsection.

In step T6, an operation program is executed by the simulation section21 so as to simulate the robot operation. In step T7, a present positionof each operation axis for unit time is recorded together with the lapseof time. Therefore, the teaching point can be referred from theexecution line. This step corresponds to the record section 22 of therobot operation program evaluating and correcting device 7B.

In step T8, a target operation route is compared with a present value ofthe robot 4 for each unit time of the simulation result so as tocalculate a deviation of the teaching point, which corresponds to thestorage section 23 of the robot operation program evaluating andcorrecting device. Specifically, the target operation route is expressedas follows.

P _(d)(t _(d))=A _(d) t _(d) ³ +B _(d) t _(d) ² +C _(d) t _(d) +D _(d)

where A_(d), B_(d), C_(d) and D_(d) are constants.

Under the above condition, a three-dimensional curve is made from thesimulation result and expressed as follows.

P _(s)(t _(s))=A _(s)t_(s) ³ +B _(s) t _(s) ² +C _(s) t _(s) +D _(s)

where A_(s), B_(s), C_(s) and D_(s) are constants.

The overall length L_(d) of the target operation route is expressed asfollows.

Ld=∫ _(Td0) ^(td1) |Pd(td)|dt

The overall length L_(s) of the simulation result is expressed asfollows.

Ls=∫ _(Ts0) ^(ts1) |Ps(ts)|dt

The positional calculation on the target route for calculating anobjective deviation is expressed as follows.

ld=∫ _(Td) ^(td) |Pd(td)|dt

The positional calculation on the route as a result of the simulation isexpressed as follows.

I _(s) =L _(s) ×l _(d) ÷L _(d)

A value t_(s) satisfying the above expressions is calculated and adeviation between P_(d)(t_(d)) and P_(s)(t_(s)) is found.

Value t_(s) is changed from 0 to the final point and a deviation betweenP_(d)(t_(d)) and P_(s)(t_(s)) is found.

D(tds)=|Pd(t _(d))−Ps(t _(s))|

In step T9, it is evaluated whether or not the deviation is in theallowed range. In the case where the deviation is not in the allowedrange, a teaching point in the operation program is corrected, whichcorresponds to the correcting section 24 in the robot operation programevaluating and correcting device.

That is, in the case of

D(tds)=|Pd(t _(d))−Ps(t _(s))|>δ,

the teaching point corresponding to P_(s)(t_(s)) is moved by an amount|Pd(t_(d))−Ps(t_(s))|.

With respect to a large number of teaching points existing on theoperation route of the operation program, processing of steps T6 to T9is successively executed and the correction of the operation program iscompleted.

As described above, according to the third embodiment of the presentinvention, compared with a case in which a large number of teachingpoints are corrected at a work-site so that a target operation route anda pseudo operation route agree with each other, it is possible tocorrect a teaching point of the operation program in a short period oftime. Therefore, it is possible to greatly reduce a set-up time of therobot 4 at the work-site. Accordingly, it is possible to easilyconstruct a production system executed by a robot in a production site.Further, it is possible to flexibly cope with a change in the productionsystem.

In this connection, it should be noted that the present invention is notlimited to the above specific embodiment and that variations arepossible. In this specification, the present invention is describedbeing divided into the first, the second and the third embodiment.However, it is possible to merge these embodiments. For example, afterthe third embodiment has been executed and a deviation of the operationroute has been corrected, when the first or the second embodiment isexecuted, a computer model and an actual system can be made to moreproperly agree with each other.

Referring to the preferred embodiments, the present invention has beenexplained above. However, changes may be made by those skilled in thatart without departing from the scope of the claim described later.

1. A method of evaluating an appropriateness of a robot operationprogram and correcting the robot operation program, said methodcomprising: for a speed command and an acceleration command to be givento a motor for driving an operating portion of the robot, performing asimulation by a computer to calculate a load of the motor; evaluatingwhether or not the load exceeds a predetermined allowed value; and basedon a result of said evaluating, repeatedly correcting the speed commandand the acceleration command and executing said simulation to minimize acycle time of the robot and to obtain the calculated load in a rangelower than the predetermined allowed value. 2-3. (canceled)
 4. A devicefor evaluating an appropriateness of a robot operation program andcorrecting the robot operation program, said device comprising acomputer including a simulation function for confirming a robotoperation, the computer comprising: a load calculation section forperforming a simulation to calculate, for a speed command and anacceleration command to be given to a motor for driving an operatingportion of the robot, the load of the motor; an evaluation section forevaluating whether or not the load exceeds a predetermined allowedvalue; and a correction section for correcting the speed command and theacceleration command based on a result outputted by said evaluationsection; wherein the computer is configured for repeatedly correctingthe speed command and the acceleration command and executing saidsimulation to minimize a cycle time of the robot and to obtain thecalculated load in a range lower than the predetermined allowed value.5-6. (canceled)
 7. The method of claim 1, further comprising, for eachexecution of the simulation where the calculated load is evaluated to belower than the predetermined allowed value, calculating the cycle timeof the robot; recording the calculated cycle time if the calculatedcycle time is shorter than a recorded cycle time from a previousexecution of the simulation; adding correction data to the speed commandand acceleration command; and performing a subsequent execution of thesimulation.
 8. The method of claim 7, wherein said adding and simulationare repeatedly performed until the calculated load exceeds thepredetermined allowed value or until the speed command and accelerationcommand reach an upper limit.
 9. The method of claim 8, furthercomprising, for each execution of the simulation where the calculatedload is evaluated to be not lower than the predetermined allowed value,subtracting correction data from the speed command and accelerationcommand; and performing a subsequent execution of the simulation. 10.The method of claim 9, wherein said subtracting and simulation arerepeatedly performed until the calculated load is below thepredetermined allowed value.
 11. The method of claim 1, wherein theentire robot operation program is evaluated and corrected off-line,without requiring the robot to actually perform any operation defined inthe program.